MySQL CROSS JOIN Keyword

MySQL இல் CROSS JOIN முக்கிய சொல்லைப் பயன்படுத்தி இரண்டு அட்டவணைகளிலிருந்தும் அனைத்து பதிவுகளையும் தேர்ந்தெடுக்க கற்றுக்கொள்ளுங்கள்

SQL CROSS JOIN முக்கிய சொல்

CROSS JOIN முக்கிய சொல் இரண்டு அட்டவணைகளிலிருந்தும் (table1 மற்றும் table2) அனைத்து பதிவுகளையும் வழங்குகிறது.

MySQL CROSS JOIN Diagram

MySQL CROSS JOIN

CROSS JOIN தொடரியல்

SELECT column_name(s)
FROM table1
CROSS JOIN table2;

⚠️ குறிப்பு:

CROSS JOIN மிகப்பெரிய முடிவுத் தொகுப்புகளைத் திரும்பப் பெறக்கூடும்!

டெமோ தரவுத்தளம்

இந்த டுடோரியலில் நன்கு அறியப்பட்ட Northwind மாதிரி தரவுத்தளத்தைப் பயன்படுத்துவோம்.

"Customers" அட்டவணையிலிருந்து ஒரு தேர்வு கீழே உள்ளது:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

மற்றும் "Orders" அட்டவணையிலிருந்து ஒரு தேர்வு:

OrderID CustomerID EmployeeID OrderDate ShipperID
10308 2 7 1996-09-18 3
10309 37 3 1996-09-19 1
10310 77 8 1996-09-20 2

MySQL CROSS JOIN எடுத்துக்காட்டு

பின்வரும் SQL கூற்று அனைத்து வாடிக்கையாளர்களையும் மற்றும் அனைத்து ஆர்டர்களையும் தேர்ந்தெடுக்கிறது:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
CROSS JOIN Orders;

💡 குறிப்பு:

CROSS JOIN முக்கிய சொல் மற்ற அட்டவணையில் பொருத்தம் இருந்தாலும் இல்லையென்றாலும் இரண்டு அட்டவணைகளிலிருந்தும் அனைத்து பொருந்தக்கூடிய பதிவுகளையும் வழங்குகிறது. எனவே, "Customers" இல் "Orders" இல் பொருத்தங்கள் இல்லாத வரிசைகள் இருந்தால், அல்லது "Orders" இல் "Customers" இல் பொருத்தங்கள் இல்லாத வரிசைகள் இருந்தால், அந்த வரிசைகளும் பட்டியலிடப்படும்.

நீங்கள் ஒரு WHERE கிளாஸைச் சேர்த்தால் (table1 மற்றும் table2 க்கு ஒரு உறவு இருந்தால்), CROSS JOIN ஆனது INNER JOIN கிளாஸின் அதே முடிவை உருவாக்கும்:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
CROSS JOIN Orders
WHERE Customers.CustomerID=Orders.CustomerID;

பயிற்சி

பின்வரும் SQL கூற்றைக் கவனியுங்கள்:

SELECT * FROM Orders CROSS JOIN Customers

Orders இல் 20 பதிவுகளும் Customers இல் 10 பதிவுகளும் இருந்தால், எத்தனை பதிவுகள் திரும்பப் பெறப்படும்?

10
✗ தவறு! CROSS JOIN இரண்டு அட்டவணைகளின் கார்ட்டீசியன் பெருக்கத்தை வழங்குகிறது, இது பதிவுகளின் எண்ணிக்கையின் பெருக்கமாகும்
20
✗ தவறு! CROSS JOIN இரண்டு அட்டவணைகளின் கார்ட்டீசியன் பெருக்கத்தை வழங்குகிறது, இது பதிவுகளின் எண்ணிக்கையின் பெருக்கமாகும்
30
✗ தவறு! CROSS JOIN இரண்டு அட்டவணைகளின் கார்ட்டீசியன் பெருக்கத்தை வழங்குகிறது, இது பதிவுகளின் எண்ணிக்கையின் பெருக்கமாகும், கூட்டுத்தொகை அல்ல
200
✓ சரி! CROSS JOIN இரண்டு அட்டவணைகளின் கார்ட்டீசியன் பெருக்கத்தை வழங்குகிறது. Orders (20) × Customers (10) = 200 பதிவுகள்